package libro.azul.ciclodevida;

import android.os.Bundle;
import android.app.Activity;

/**
 * Actividad de prueba para comprobar su ciclo de vida.
 * 
 * A nivel de interfaz muestra la ventana predefinida creada
 * por el asistente de Eclipse.
 * 
 * Si se mira en el logcat, se generan notificaciones por cada
 * método relacionado con el ciclo de vida que se invoca.
 * El objetivo es ver la aparición de los mensajes según se interactúa
 * con la aplicación, lanzando una llamada para que deje de
 * ser la actividad en primer plano, etcétera.
 * 
 * @author Pedro Pablo Gómez Martín
 */
public class CicloDeVida extends Activity {

    /**
     * Método invocado por Android cuando lanza la actividad.
     * Inicializamos el interfaz gráfico.
     * 
     * @param savedInstanceState Lo ignoramos.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ciclo_de_vida);
        android.util.Log.i(TAG, "onCreate");
    }

    /**
     * Método llamado cuando la actividad pasa de estar oculta a
     * estar, al menos, parcialmente visible.
     */
    protected void onStart() {
        super.onStart();
        android.util.Log.i(TAG, "onStart");
    }

    /**
     * Método llamado cuando se recupera una actividad después
     * de haber estado detenida.
     */
    protected void onRestart() {
        super.onRestart();
        android.util.Log.i(TAG, "onRestart");
    }

    /**
     * Método llamado cuando la actividad pasa a primer plano.
     */
    protected void onResume() {
        super.onResume();
        android.util.Log.i(TAG, "onResume");
    }

    /**
     * Método llamado cuando la actividad deja de estar
     * en primer plano (puede que sigua siendo parcialmente
     * visible).
     */
    protected void onPause() {
        super.onPause();
        android.util.Log.i(TAG, "onPause");
    }

    /**
     * Método llamado cuando la actividad se detiene
     * (deja de estar visible).
     */
    protected void onStop() {
        super.onStop();
        android.util.Log.i(TAG, "onStop");
    }

    /**
     * Método llamado antes de que la aplicación se destruya.
     */
    protected void onDestroy() {
        super.onDestroy();
        android.util.Log.i(TAG, "onDestroy");
    }

    /**
     * Constante con la etiqueta que nos identificará en el
     * logcat.
     */
    private static final String TAG = "CicloDeVida";

} // class CicloDeVida
